home *** CD-ROM | disk | FTP | other *** search
/ Super Shareware Collection / Super Shareware Collection.iso / os_2 / clisp.zip / FORMAT.FAS < prev    next >
Text File  |  1994-02-05  |  47KB  |  774 lines

  1. (SYSTEM::VERSION '(SYSTEM::CLISP2 12. LISP:NIL 290893.))
  2. #Y(#:TOP-LEVEL-FORM-1 #13Y(00 00 00 00 00 01 D5 37 02 30 DE 19 01) "SYSTEM")
  3. #Y(#:TOP-LEVEL-FORM-2
  4.    #350Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 D8 D9 DA 60 5F DB 6F 04 00 31 7A D8 2E 07 DD 30 5B
  5.          DE 30 5B DF 2E 01 DF E0 E1 31 7A DF E2 31 74 E3 30 5B E4 30 5B E5 2E 01 E5 E0 E6 31 7A E5
  6.          E7 31 74 E8 30 5B E9 30 5B EA 2E 01 EA E0 EB 31 7A EA EC 31 74 ED 30 5B EE 30 5B EF 2E 01
  7.          EF E0 F0 31 7A EF F1 31 74 F2 30 5B F3 30 5B F4 2E 01 F4 E0 F5 31 7A F4 61 21 31 74 61 22
  8.          30 5B 61 23 30 5B 61 24 2E 01 61 24 E0 61 25 31 7A 61 24 61 26 31 74 61 27 30 5B 61 28 30
  9.          5B 61 29 2E 01 61 29 E0 61 2A 31 7A 61 29 61 2B 31 74 61 2C 30 5B 61 2D 30 5B 61 2E 2E 01
  10.          61 2E E0 61 2F 31 7A 61 2E 61 30 31 74 DF 61 31 61 32 03 33 76 31 7A DF 61 34 5F 2C 03 35
  11.          E5 61 31 61 32 03 36 76 31 7A E5 61 34 5F 2C 03 35 EA 61 31 61 32 03 37 76 31 7A EA 61 34
  12.          5F 2C 03 35 EF 61 31 61 32 03 38 76 31 7A EF 61 34 5F 2C 03 35 F4 61 31 61 32 03 39 76 31
  13.          7A F4 61 34 5F 2C 03 35 61 24 61 31 61 32 03 3A 76 31 7A 61 24 61 34 5F 2C 03 35 61 29 61
  14.          31 61 32 03 3B 76 31 7A 61 29 61 34 5F 2C 03 35 61 2E 61 31 61 32 03 3C 76 31 7A 61 2E 61
  15.          34 5F 2C 03 35 D8 61 3D 5F 2C 03 35 D8 61 3E 31 7B C3 19 01
  16.         )
  17.    MAKE-CSD REMOVE-OLD-DEFINITIONS
  18.    #Y(MAKE-CSD
  19.       #61Y(00 00 00 00 00 01 D5 D6 6E 2C D7 A8 D8 D9 31 2B D7 A8 DA D9 31 2B D7 A8 DB 5F 31 2B D7
  20.            A8 DC 5F 31 2B D7 A8 DD 5F 31 2B D7 A8 DE 5F 31 2B D7 A8 DF 5F 31 2B D7 A8 E0 5F 31 2B
  21.            15 19 01
  22.           )
  23.       #1=(CONTROL-STRING-DIRECTIVE) 9. CONTROL-STRING-DIRECTIVE 1. 0. 2. 3. 4. 5. 6. 7. 8.
  24.      )
  25.    CONTROL-STRING-DIRECTIVE DEFSTRUCT-DESCRIPTION #1#
  26.    ((TYPE 1. 0. FIXNUM NIL) (CS-INDEX 2. 0. FIXNUM NIL) (PARM-LIST 3. NIL LIST NIL)
  27.     (V-OR-#-P 4. NIL SYMBOL NIL) (COLON-P 5. NIL SYMBOL NIL) (ATSIGN-P 6. NIL SYMBOL NIL)
  28.     (DATA 7. NIL T NIL) (CLAUSE-CHAIN 8. NIL T NIL)
  29.    )
  30.    CLOS::DEFINE-STRUCTURE-CLASS (FUNCTION CSD-TYPE (CONTROL-STRING-DIRECTIVE) FIXNUM)
  31.    (INLINE CSD-TYPE) CSD-TYPE INLINE-EXPANSION
  32.    (#2=(OBJECT) (DECLARE (IN-DEFUN CSD-TYPE))
  33.     (BLOCK CSD-TYPE (THE FIXNUM (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 1.)))
  34.    )
  35.    #Y(CSD-TYPE #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 1.)
  36.    (FUNCTION CSD-CS-INDEX (CONTROL-STRING-DIRECTIVE) FIXNUM) (INLINE CSD-CS-INDEX) CSD-CS-INDEX
  37.    (#2# (DECLARE (IN-DEFUN CSD-CS-INDEX))
  38.     (BLOCK CSD-CS-INDEX (THE FIXNUM (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 2.)))
  39.    )
  40.    #Y(CSD-CS-INDEX #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 2.)
  41.    (FUNCTION CSD-PARM-LIST (CONTROL-STRING-DIRECTIVE) LIST) (INLINE CSD-PARM-LIST) CSD-PARM-LIST
  42.    (#2# (DECLARE (IN-DEFUN CSD-PARM-LIST))
  43.     (BLOCK CSD-PARM-LIST (THE LIST (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 3.)))
  44.    )
  45.    #Y(CSD-PARM-LIST #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 3.)
  46.    (FUNCTION CSD-V-OR-#-P (CONTROL-STRING-DIRECTIVE) SYMBOL) (INLINE CSD-V-OR-#-P) CSD-V-OR-#-P
  47.    (#2# (DECLARE (IN-DEFUN CSD-V-OR-#-P))
  48.     (BLOCK CSD-V-OR-#-P (THE SYMBOL (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 4.)))
  49.    )
  50.    #Y(CSD-V-OR-#-P #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 4.)
  51.    (FUNCTION CSD-COLON-P (CONTROL-STRING-DIRECTIVE) SYMBOL) (INLINE CSD-COLON-P) CSD-COLON-P
  52.    (#2# (DECLARE (IN-DEFUN CSD-COLON-P))
  53.     (BLOCK CSD-COLON-P (THE SYMBOL (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 5.)))
  54.    )
  55.    #Y(CSD-COLON-P #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 5.)
  56.    (FUNCTION CSD-ATSIGN-P (CONTROL-STRING-DIRECTIVE) SYMBOL) (INLINE CSD-ATSIGN-P) CSD-ATSIGN-P
  57.    (#2# (DECLARE (IN-DEFUN CSD-ATSIGN-P))
  58.     (BLOCK CSD-ATSIGN-P (THE SYMBOL (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 6.)))
  59.    )
  60.    #Y(CSD-ATSIGN-P #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 6.)
  61.    (FUNCTION CSD-DATA (CONTROL-STRING-DIRECTIVE) T) (INLINE CSD-DATA) CSD-DATA
  62.    (#2# (DECLARE (IN-DEFUN CSD-DATA))
  63.     (BLOCK CSD-DATA (THE T (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 7.)))
  64.    )
  65.    #Y(CSD-DATA #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 7.)
  66.    (FUNCTION CSD-CLAUSE-CHAIN (CONTROL-STRING-DIRECTIVE) T) (INLINE CSD-CLAUSE-CHAIN)
  67.    CSD-CLAUSE-CHAIN
  68.    (#2# (DECLARE (IN-DEFUN CSD-CLAUSE-CHAIN))
  69.     (BLOCK CSD-CLAUSE-CHAIN (THE T (%STRUCTURE-REF 'CONTROL-STRING-DIRECTIVE OBJECT 8.)))
  70.    )
  71.    #Y(CSD-CLAUSE-CHAIN #13Y(01 00 00 00 00 02 D5 A9 D6 31 2A 19 02) CONTROL-STRING-DIRECTIVE 8.)
  72.    SETF-EXPANDER -1.
  73.    #Y(SETF-CSD-TYPE #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  74.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 1. THE FIXNUM
  75.      )
  76.    SETF %SET-DOCUMENTATION
  77.    #Y(SETF-CSD-CS-INDEX #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  78.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 2. THE FIXNUM
  79.      )
  80.    #Y(SETF-CSD-PARM-LIST #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  81.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 3. THE LIST
  82.      )
  83.    #Y(SETF-CSD-V-OR-#-P #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  84.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 4. THE SYMBOL
  85.      )
  86.    #Y(SETF-CSD-COLON-P #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  87.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 5. THE SYMBOL
  88.      )
  89.    #Y(SETF-CSD-ATSIGN-P #22Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 D8 D9 AF 77 03 5C 05 19 04)
  90.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 6. THE SYMBOL
  91.      )
  92.    #Y(SETF-CSD-DATA #18Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 AD 5C 05 19 04) %STRUCTURE-STORE
  93.       'CONTROL-STRING-DIRECTIVE 7.
  94.      )
  95.    #Y(SETF-CSD-CLAUSE-CHAIN #18Y(02 00 00 00 00 03 9A 57 74 D5 D6 A9 D7 AD 5C 05 19 04)
  96.       %STRUCTURE-STORE 'CONTROL-STRING-DIRECTIVE 8.
  97.      )
  98.    STRUCTURE STRUCTURE-PRINT
  99.   )
  100. #Y(#:TOP-LEVEL-FORM-3 #12Y(00 00 00 00 00 01 D5 D6 31 7B 19 01) CONTROL-STRING-DIRECTIVE
  101.    DEFSTRUCT-DESCRIPTION
  102.   )
  103. #Y(#:TOP-LEVEL-FORM-4 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) WHITESPACEP
  104.    REMOVE-OLD-DEFINITIONS
  105.    #Y(WHITESPACEP #14Y(01 00 00 00 00 02 A8 D5 37 03 30 B3 19 02)
  106.       (#\Space #\Newline #\Newline #\Tab #\Return #\Page)
  107.   )  )
  108. #Y(#:TOP-LEVEL-FORM-5 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-PARSE-CS
  109.    REMOVE-OLD-DEFINITIONS
  110.    #Y(FORMAT-PARSE-CS
  111.       #604Y(04 00 00 00 00 05 AA 01 03 90 06 1A 82 34 B0 7D 41 04 14 D7 AA DA AA 31 2B 16 01 8F 06
  112.             82 37 1A 82 2C B0 AC 7C 33 03 14 23 00 27 AE 2D 01 F8 14 77 01 7C AA 07 D7 A9 D8 D8 31
  113.             2B D7 A9 D9 AE 31 2B D5 B1 37 06 A4 FA 7D 59 04 1C 42 D7 A9 DA AE 31 2B AE 2D 01 F8 14
  114.             77 01 7C AA 07 D7 A9 D8 D9 31 2B D7 A9 D9 AE 31 2B D7 A9 DB 5F 31 2B D7 A9 DC 5F 31 2B
  115.             D7 A9 DD 5F 31 2B D7 A9 DE 5F 31 2B D7 A9 DA 5F 31 2B D7 A9 DF 5F 31 2B 1A 35 9B 25 0D
  116.             80 DD CF 1A 05 AA 23 0E 79 D0 14 A7 D7 AB DB 31 2A 76 D7 AB DB AA 31 2B 16 02 D7 A9 DC
  117.             60 31 2B 1A 80 71 5F D7 AA DB 31 2A 76 D7 AA DB AA 31 2B 16 01 81 04 14 B1 6E 41 8C 01
  118.             30 80 8C B0 AC 7C 33 03 14 37 01 89 22 FF B4 B0 AC 37 02 60 30 7F 41 02 66 05 66 02 1B
  119.             07 B0 AC E6 AD 2C 04 0C A9 D7 AA DB 31 2A 76 D7 AA DB AA 31 2B 16 01 1A 26 B0 AC D2 1A
  120.             80 56 81 04 14 B1 6E 41 8C 01 30 70 B0 AC 7C 33 03 14 D7 AA DB 31 2A 76 D7 AA DB AA 31
  121.             2B 16 01 81 04 AB B1 6E 41 8C 01 30 2B B0 AC 7C 33 03 25 13 39 D7 A9 C8 1A 10 B0 AC 7C
  122.             33 03 14 23 14 72 AA 24 15 27 D7 A9 C9 14 60 31 2B 81 04 14 B1 6E 41 8D 01 30 62 B0 AC
  123.             CB 14 2C 03 0C 8F 06 80 F1 1A 80 E6 D7 AA DA AA 31 2B 1A 21 D7 A9 DB 6E 2A 6E 43 D7 AA
  124.             DB AA 31 2B 16 01 AA 6D 2A EB 37 03 30 BA 75 8E 00 5D B1 AD EC 2C 03 0C 16 01 81 04 9B
  125.             25 18 80 A8 B0 AC B0 9E 25 19 10 03 1A 1A 0D 03 1B 1A 09 03 1C 1A 05 03 1D 1A 01 00 14
  126.             27 FE 50 41 02 66 08 66 04 1A 80 83 8E 06 07 B0 AC F3 AD 2C 04 0C AA AE 88 FE 08 B0 AC
  127.             F4 AD B1 2C 05 0C D7 A8 DF B1 31 2B 1A 80 77 AD 23 1B 0A AD 23 1D 06 B0 AC F5 2C 03 0C
  128.             D7 A8 DF B1 31 2B 99 F6 1A 80 4A D7 A9 DE 8B 2A 80 43 B0 AC 61 22 2C 03 0C 1A 3A B0 7D
  129.             41 04 1A 34 D7 A9 D8 61 21 31 2B D7 A9 DD 8A 2A 5D D7 A9 DE 8B 2A 16 D7 A9 D8 D8 31 2B
  130.             93 04 D7 AA D9 AA 31 2B 16 01 D7 A9 DA AE 31 2B 95 23 B1 37 04 A2 F8 8B 5B 47 FA AB B1
  131.             6E 41 8D 01 30 FD D7 8F 06 08 B0 AC 61 24 B0 2C 04 0C AB AF 3F 02 19 0A
  132.            )
  133.       #\~ MAKE-CSD CONTROL-STRING-DIRECTIVE 1. 2. 7. 3. 4. 5. 6. 8.
  134.       "The control string terminates within a directive." FORMAT-ERROR
  135.       #S(HASH-TABLE EQ (#\@ . 184.) (#\: . 166.) (#\, . 35.) (#\# . 5.) (#\v . 5.) (#\V . 5.)
  136.          (#\' . 118.) (#\- . 73.) (#\+ . 73.)
  137.         )
  138.       #\# :ARG-COUNT :NEXT-ARG "~A must introduce a number."
  139.       "The control string terminates in the middle of a parameter."
  140.       #S(HASH-TABLE EQ (#\@ . 19.) (#\: . 1.) (#\, . -115.)) #\: #\@
  141.       ((#\A . FORMAT-ASCII) (#\S . FORMAT-S-EXPRESSION) (#\W . FORMAT-WRITE) (#\D . FORMAT-DECIMAL)
  142.        (#\B . FORMAT-BINARY) (#\O . FORMAT-OCTAL) (#\X . FORMAT-HEXADECIMAL) (#\R . FORMAT-RADIX)
  143.        (#\P . FORMAT-PLURAL) (#\C . FORMAT-CHARACTER) (#\F . FORMAT-FIXED-FLOAT)
  144.        (#\E . FORMAT-EXPONENTIAL-FLOAT) (#\G . FORMAT-GENERAL-FLOAT) (#\$ . FORMAT-DOLLARS-FLOAT)
  145.        (#\% . FORMAT-TERPRI) (#\& . FORMAT-FRESH-LINE) (#\Newline . #\Newline) (#\| . FORMAT-PAGE)
  146.        (#\~ . FORMAT-TILDE) (#\T . FORMAT-TABULATE) (#\* . FORMAT-GOTO) (#\? . FORMAT-INDIRECTION)
  147.        (#\( . FORMAT-CASE-CONVERSION) (#\) . FORMAT-CASE-CONVERSION-END) (#\[ . FORMAT-CONDITIONAL)
  148.        (#\] . FORMAT-CONDITIONAL-END) (#\{ . FORMAT-ITERATION) (#\} . FORMAT-ITERATION-END)
  149.        (#\< . FORMAT-JUSTIFICATION) (#\> . FORMAT-JUSTIFICATION-END) (#\^ . FORMAT-UP-AND-OUT)
  150.        (#\; . FORMAT-SEPARATOR)
  151.       )
  152.       "Non-existent directive"
  153.       #S(HASH-TABLE EQ (#\Newline . 118.) (#\; . 71.) (#\> . 39.) (#\} . 39.) (#\] . 39.)
  154.          (#\) . 39.) (#\< . 2.) (#\{ . 2.) (#\[ . 2.) (#\( . 2.)
  155.         )
  156.       #S(HASH-TABLE EQ (#\< . 13.) (#\{ . 9.) (#\[ . 5.) (#\( . 1.)) #\) #\] #\} #\>
  157.       "The closing directive '~A' does not have a corresponding opening one."
  158.       "The closing directive '~A' does not match the corresponding opening one. It should read '~A'."
  159.       "The ~~; directive is not allowed at this point." 0.
  160.       "The ~~newline directive cannot take both modifiers." WHITESPACEP
  161.       "An opening directive is never closed; expecting '~A'."
  162.   )  )
  163. #Y(#:TOP-LEVEL-FORM-6 #12Y(00 00 00 00 00 01 D5 30 5B C1 19 01) (SPECIAL *FORMAT-CS*) *FORMAT-CS*)
  164. #Y(#:TOP-LEVEL-FORM-7 #12Y(00 00 00 00 00 01 D5 30 5B C1 19 01) (SPECIAL *FORMAT-CSDL*)
  165.    *FORMAT-CSDL*
  166.   )
  167. #Y(#:TOP-LEVEL-FORM-8 #12Y(00 00 00 00 00 01 D5 30 5B C1 19 01) (SPECIAL *FORMAT-ARG-LIST*)
  168.    *FORMAT-ARG-LIST*
  169.   )
  170. #Y(#:TOP-LEVEL-FORM-9 #12Y(00 00 00 00 00 01 D5 30 5B C1 19 01) (SPECIAL *FORMAT-NEXT-ARG*)
  171.    *FORMAT-NEXT-ARG*
  172.   )
  173. #Y(#:TOP-LEVEL-FORM-10 #20Y(00 00 00 00 00 01 D5 30 5B D6 88 50 04 D6 5F 30 53 C1 19 01)
  174.    (SPECIAL *FORMAT-UP-AND-OUT*) *FORMAT-UP-AND-OUT*
  175.   )
  176. #Y(#:TOP-LEVEL-FORM-11 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-ERROR
  177.    REMOVE-OLD-DEFINITIONS
  178.    #Y(FORMAT-ERROR
  179.       #111Y(03 00 00 00 01 19 8E 03 0B 0E 00 74 D6 A8 D7 31 2A 16 01 F9 A9 D8 7E 02 13 02 D9 D9 1A
  180.             04 A7 7D 89 01 DA AE 37 06 A1 FA 8A 59 03 AD 31 41 F6 AB DB 7E 02 13 04 AA AE AA AA 6D
  181.             4E 77 01 7E 02 21 03 A8 AD A9 8D 02 2F 16 AB DC 7E 02 13 04 AA D7 AE AB 6F 01 34 6F 02
  182.             33 77 01 7E 02 21 03 A7 AE 6E 41 8D 01 2B FF B7 16 02 DD AA 9B 97 01 05
  183.            )
  184.       *FORMAT-CSDL* CONTROL-STRING-DIRECTIVE 2. "~%Current point in control string:" 0. #\Newline
  185.       "~%  ~A" "~%~VT" #.#'ERROR
  186.   )  )
  187. #Y(#:TOP-LEVEL-FORM-12 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT
  188.    REMOVE-OLD-DEFINITIONS
  189.    #Y(FORMAT
  190.       #108Y(02 00 00 00 01 18 A9 8B 04 2F A9 77 01 AA D6 A9 5F 2C 04 02 98 56 10 03 9B 57 10 04 A0
  191.             10 05 0E 05 10 06 00 10 07 8F 13 14 BA 02 21 1E BA 8B 13 21 04 13 14 2E 08 00 1A 2F D5
  192.             AA 5E 01 37 01 6E 69 A7 2E 08 A7 31 6A 16 01 1A 1D 0E 09 1A 64 CA 1A 05 BA 8A 04 05 CB
  193.             14 BB 5E 01 BA 89 13 70 BA 6E 6B A7 2E 08 16 01 00 12 05 19 05
  194.            )
  195.       "The control-string must be a string, not ~S" 0. FORMAT-PARSE-CS *FORMAT-CS* *FORMAT-CSDL*
  196.       *FORMAT-ARG-LIST* *FORMAT-NEXT-ARG* *FORMAT-UP-AND-OUT* FORMAT-INTERPRET *STANDARD-OUTPUT*
  197.       "The destination string ~S should have a fill pointer."
  198.       "The destination argument ~S is invalid (not NIL or T or a stream or a string)."
  199.   )  )
  200. #Y(#:TOP-LEVEL-FORM-13 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) NEXT-ARG
  201.    REMOVE-OLD-DEFINITIONS
  202.    #Y(NEXT-ARG
  203.       #30Y(00 00 00 00 00 01 0E 00 1F 0B 0E 00 74 0E 00 57 0F 00 15 19 01 67 01 5F D7 2C 03 03 19
  204.            01
  205.           )
  206.       *FORMAT-NEXT-ARG* *FORMAT-CS* "There are not enough arguments left for this directive."
  207.       FORMAT-ERROR
  208.   )  )
  209. #Y(#:TOP-LEVEL-FORM-14 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-INTERPRET
  210.    REMOVE-OLD-DEFINITIONS
  211.    #Y(FORMAT-INTERPRET
  212.       #116Y(01 00 01 00 00 08 3A 01 08 79 01 0E 00 1C 06 1A 09 0E 00 1B 05 67 01 89 92 14 00 19 03
  213.             67 05 AC D7 AB DB 6E 2A D7 AC DC 6E 2A 30 89 1A 37 0E 01 74 D7 A8 D8 6E 2A A7 23 04 2B
  214.             A7 23 03 5F A7 24 06 23 D7 A9 DC 6E 2A A7 9D 21 04 A7 24 08 03 00 19 06 A7 AD D7 AC DE
  215.             6E 2A D7 AD DF 6E 2A AD 2E 0B 36 03 16 01 16 02 0E 01 57 0F 01 0E 00 1C FF A4 1A FF A6
  216.            )
  217.       *FORMAT-UP-AND-OUT* *FORMAT-CSDL* CONTROL-STRING-DIRECTIVE 1. 0. *FORMAT-CS* 2. 7.
  218.       FORMAT-SEPARATOR 5. 6. FORMAT-RESOLVE-PARMS
  219.   )  )
  220. #Y(#:TOP-LEVEL-FORM-15 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-RESOLVE-PARMS
  221.    REMOVE-OLD-DEFINITIONS
  222.    #Y(FORMAT-RESOLVE-PARMS
  223.       #62Y(01 00 00 00 00 02 D5 A9 D6 6E 2A D5 AA D7 8A 2A 03 15 19 02 5F A8 1A 1C 2D 04 1A 11 67
  224.            06 30 93 1A 0B 90 00 A7 23 03 70 A7 23 05 70 98 14 80 02 16 01 7F 00 98 20 6B 16 01 A7
  225.            30 A3 19 04
  226.           )
  227.       CONTROL-STRING-DIRECTIVE 3. 4. :NEXT-ARG NEXT-ARG :ARG-COUNT *FORMAT-NEXT-ARG*
  228.   )  )
  229. #Y(#:TOP-LEVEL-FORM-16 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-GOTO-NEW-ARG
  230.    REMOVE-OLD-DEFINITIONS
  231.    #Y(FORMAT-GOTO-NEW-ARG
  232.       #39Y(02 00 00 00 00 03 8E 02 0A A8 0E 01 14 30 9B 0F 01 19 03 67 00 6D 93 67 01 6D 93 AA 6F
  233.            02 34 D7 6F 01 31 0E 00 1A 65
  234.           )
  235.       *FORMAT-ARG-LIST* *FORMAT-NEXT-ARG* 0.
  236.   )  )
  237. #Y(#:TOP-LEVEL-FORM-17 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-OLD-ROMAN
  238.    REMOVE-OLD-DEFINITIONS
  239.    #Y(FORMAT-OLD-ROMAN
  240.       #74Y(02 00 00 00 00 03 A9 8B 09 07 D5 AA D6 8C 02 2F 08 67 02 5F D8 AC 2C 04 04 DA DB AB 1A
  241.            25 91 02 91 02 A9 90 04 31 A6 41 02 DC 1A 07 90 07 B1 30 88 81 00 A7 AA 8D 01 30 73 16
  242.            01 15 16 01 F8 66 02 66 02 A7 8B 84 57 00 19 06
  243.           )
  244.       1. 4999. *FORMAT-CS* "The ~~:@R directive requires an integer in the range 1 - 4999, not ~S"
  245.       FORMAT-ERROR (#\M #\D #\C #\L #\X #\V #\I) (1000. 500. 100. 50. 10. 5. 1.) 0.
  246.   )  )
  247. #Y(#:TOP-LEVEL-FORM-18 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-NEW-ROMAN
  248.    REMOVE-OLD-DEFINITIONS
  249.    #Y(FORMAT-NEW-ROMAN
  250.       #116Y(02 00 00 00 00 03 A9 8B 09 07 D5 AA D6 8C 02 2F 08 67 02 5F D8 AC 2C 04 04 DA DB DC DD
  251.             AD 1A 80 4B 91 04 91 04 91 04 91 04 AB 90 08 31 A6 41 02 DE 1A 18 90 09 B5 30 88 90 0B
  252.             B5 30 88 A8 A8 32 01 34 1A 1D 90 0B B5 30 88 81 00 A7 AA 8D 01 30 73 16 01 90 09 90 08
  253.             6F 01 34 A8 A8 8C 01 30 53 99 16 03 FA 66 04 66 04 66 04 66 04 A7 8B 84 FF B0 00 19 08
  254.            )
  255.       1. 3999. *FORMAT-CS* "The ~~@R directive requires an integer in the range 1 - 3999, not ~S"
  256.       FORMAT-ERROR (#\M #\D #\C #\L #\X #\V #\I) (1000. 500. 100. 50. 10. 5. 1.)
  257.       (#\C #\C #\X #\X #\I #\I) (100. 100. 10. 10. 1. 1. 0.) 0.
  258.   )  )
  259. #Y(#:TOP-LEVEL-FORM-19
  260.    #26Y(00 00 00 00 00 01 D5 89 5F 09 D6 D7 D5 D5 6D 4F 2C 04 03 D5 D9 31 75 C0 19 01)
  261.    FORMAT-CARDINAL-ONES "~S redefines the constant ~S. Its old value was ~S."
  262.    (DEFCONSTANT FORMAT-CARDINAL-ONES
  263.     '#1=#(NIL "one" "two" "three" "four" "five" "six" "seven" "eight" "nine" "ten" "eleven"
  264.           "twelve" "thirteen" "fourteen" "fifteen" "sixteen" "seventeen" "eighteen" "nineteen"
  265.    )     )
  266.    WARN #1#
  267.   )
  268. #Y(#:TOP-LEVEL-FORM-20
  269.    #26Y(00 00 00 00 00 01 D5 89 5F 09 D6 D7 D5 D5 6D 4F 2C 04 03 D5 D9 31 75 C0 19 01)
  270.    FORMAT-CARDINAL-TENS "~S redefines the constant ~S. Its old value was ~S."
  271.    (DEFCONSTANT FORMAT-CARDINAL-TENS
  272.     '#1=#(NIL NIL "twenty" "thirty" "forty" "fifty" "sixty" "seventy" "eighty" "ninety")
  273.    )
  274.    WARN #1#
  275.   )
  276. #Y(#:TOP-LEVEL-FORM-21 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-SMALL-CARDINAL
  277.    REMOVE-OLD-DEFINITIONS
  278.    #Y(FORMAT-SMALL-CARDINAL
  279.       #103Y(02 00 00 00 00 03 A9 D5 31 A8 41 02 A8 D6 8D 01 2E 0F D7 9A 5A 14 AB 37 02 30 89 D8 AB
  280.             37 02 30 89 A7 D6 8D 01 2E 3D A8 D6 8D 01 2E 06 D9 AB 37 02 30 89 A7 DA 31 A8 41 02 A8
  281.             DB 8C 01 2D 1E DC 9A 5A 14 AD 37 02 30 89 A7 D6 8D 01 2E 13 DD AD 30 88 D7 99 5A 14 AD
  282.             37 02 30 89 19 07 D7 9B 1A 73 00 19 07 00 19 05
  283.            )
  284.       100. 0. #.FORMAT-CARDINAL-ONES " hundred" " and " 10. 2. #.FORMAT-CARDINAL-TENS #\-
  285.   )  )
  286. #Y(#:TOP-LEVEL-FORM-22 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-CARDINAL
  287.    REMOVE-OLD-DEFINITIONS
  288.    #Y(FORMAT-CARDINAL
  289.       #54Y(02 00 00 00 00 03 00 2A 01 7B 02 00 00 AA 8A 84 1B AA 8B 86 0D D6 64 01 00 37 02 30 89
  290.            AA 7E 00 34 03 A7 69 02 01 D8 AC 9A 33 19 05 D5 64 01 00 37 02 30 89 19 04
  291.           )
  292.       "zero" "minus "
  293.       #Y(FORMAT-CARDINAL-BLOCKS1000
  294.          #78Y(02 00 00 00 00 03 8F 02 24 1A 29 A8 DA 8D 01 2E 08 DB 65 00 01 37 02 30 89 A7 65 00
  295.               01 2F 07 90 04 65 00 01 37 02 30 89 19 05 8E 02 07 67 01 5F D7 2C 03 03 A8 D9 31 A8
  296.               41 02 A8 DA 8D 01 2E 05 91 04 A9 27 65 A7 DA 8C 01 2E 40 00 19 05
  297.              )
  298.          NIL *FORMAT-CS* "The argument for the ~~R directive is too large." FORMAT-ERROR 1000. 0.
  299.          ", " FORMAT-SMALL-CARDINAL
  300.         )
  301.       ("" " thousand" " million" " billion" " trillion" " quadrillion" " quintillion" " sextillion"
  302.        " septillion" " octillion" " nonillion" " decillion" " undecillion" " duodecillion"
  303.        " tredecillion" " quattuordecillion" " quindecillion" " sexdecillion" " septendecillion"
  304.        " octodecillion" " novemdecillion" " vigintillion"
  305.   )  ))
  306. #Y(#:TOP-LEVEL-FORM-23
  307.    #26Y(00 00 00 00 00 01 D5 89 5F 09 D6 D7 D5 D5 6D 4F 2C 04 03 D5 D9 31 75 C0 19 01)
  308.    FORMAT-ORDINAL-ONES "~S redefines the constant ~S. Its old value was ~S."
  309.    (DEFCONSTANT FORMAT-ORDINAL-ONES
  310.     '#1=#(NIL "first" "second" "third" "fourth" "fifth" "sixth" "seventh" "eighth" "ninth" "tenth"
  311.           "eleventh" "twelfth" "thirteenth" "fourteenth" "fifteenth" "sixteenth" "seventeenth"
  312.           "eighteenth" "nineteenth"
  313.    )     )
  314.    WARN #1#
  315.   )
  316. #Y(#:TOP-LEVEL-FORM-24 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-ORDINAL
  317.    REMOVE-OLD-DEFINITIONS
  318.    #Y(FORMAT-ORDINAL
  319.       #124Y(02 00 00 00 00 03 A9 8A 84 80 59 A9 8B 86 0B D6 A9 37 02 30 89 A9 7E 00 34 02 A9 D7 31
  320.             A6 41 02 A8 D8 8D 01 2E 08 A8 D7 6F 02 35 AB 2F 04 A7 8A 84 3A A7 DB 31 A6 41 02 AA D8
  321.             8D 01 2E 04 DC AD 30 88 A8 DD 8C 01 2D 2C A7 8A 84 2C E0 9A 5A 14 AD 37 02 30 89 E1 AD
  322.             30 88 DE 99 5A 14 AD 37 02 30 89 19 07 D5 A9 37 02 30 89 19 03 DA AB 37 02 30 89 19 05
  323.             DE 9B 1A 63 DF 9A 1A 5F
  324.            )
  325.       "zeroth" "minus " 100. 0. FORMAT-CARDINAL "th" 10. #\Space 2. #.FORMAT-ORDINAL-ONES
  326.       #(NIL "tenth" "twentieth" "thirtieth" "fortieth" "fiftieth" "sixtieth" "seventieth"
  327.         "eightieth" "ninetieth"
  328.        )
  329.       #.FORMAT-CARDINAL-TENS #\-
  330.   )  )
  331. #Y(#:TOP-LEVEL-FORM-25 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-PADDING
  332.    REMOVE-OLD-DEFINITIONS
  333.    #Y(FORMAT-PADDING #24Y(03 00 00 00 00 04 D5 1A 06 AA AA 30 88 81 00 A7 AC 8D 01 30 74 00 19 05)
  334.       0.
  335.   )  )
  336. #Y(#:TOP-LEVEL-FORM-26 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-PADDED-STRING
  337.    REMOVE-OLD-DEFINITIONS
  338.    #Y(FORMAT-PADDED-STRING
  339.       #68Y(07 00 00 00 00 00 A9 6E 41 AD 6F 02 33 A7 B0 8C 01 2D 1B C0 14 8E 05 06 AB AB 37 02 30
  340.            89 AE A8 6F 02 33 AE AC 2C 03 01 8E 05 11 00 19 0A AF A8 6F 01 34 AF 6E A7 AF 32 02 35
  341.            1A 58 AB AB 37 02 30 89 19 0A
  342.           )
  343.       0. FORMAT-PADDING
  344.   )  )
  345. #Y(#:TOP-LEVEL-FORM-27 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-INTEGER
  346.    REMOVE-OLD-DEFINITIONS
  347.    #Y(FORMAT-INTEGER
  348.       #170Y(08 00 00 00 00 00 A0 10 00 00 10 01 B4 8B 84 06 8E 0A 03 8F 09 36 AF 6D 87 A7 6E 41 B1
  349.             8A 86 33 98 14 8E 0D 33 C3 14 8F 0D 05 B3 D8 32 01 2E 14 8E 00 2C C3 14 AB AA 6F 03 33
  350.             A7 37 01 6D 44 8F 02 05 A7 D8 DA 30 35 AC A9 1A 80 42 AF AF 30 84 1A 80 53 A7 31 8A 1A
  351.             49 93 00 D7 31 A6 1A 47 C4 1A 52 A7 B6 37 02 30 89 16 07 1A 3A 82 00 A9 A8 B1 AB 6D 33
  352.             30 35 AC 8B 85 14 AE A9 6F 01 34 D7 6E AA 8B 84 09 82 00 A9 A8 BD 30 35 82 05 82 01 14
  353.             8B 86 58 16 02 BB 8A 84 48 BB D9 D8 BD 60 AC BB 2C 07 06 16 07 12 02 19 09
  354.            )
  355.       *PRINT-BASE* *PRINT-RADIX* 3. 0. 1. #\+ FORMAT-PADDED-STRING
  356.   )  )
  357. #Y(#:TOP-LEVEL-FORM-28 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-ASCII-DECIMAL
  358.    REMOVE-OLD-DEFINITIONS
  359.    #Y(FORMAT-ASCII-DECIMAL #20Y(02 00 00 00 00 03 C0 10 01 00 10 02 AF AF 30 84 12 02 19 03) 10.
  360.       *PRINT-BASE* *PRINT-RADIX*
  361.   )  )
  362. #Y(#:TOP-LEVEL-FORM-29 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-BASE
  363.    REMOVE-OLD-DEFINITIONS
  364.    #Y(FORMAT-BASE
  365.       #73Y(07 00 00 00 00 00 8F 03 26 8F 02 28 8E 01 02 C2 F7 2D 03 14 AB 8B 84 06 8E 06 03 8F 05
  366.            1D A7 8B 09 19 AF AC AC AC B1 B1 AD B5 2C 08 06 19 09 C0 F9 8E 02 58 C1 F8 8F 01 56 1A
  367.            56 A0 10 04 00 10 05 AD B5 30 84 12 02 19 09
  368.           )
  369.       0. #\Space #\, NEXT-ARG *PRINT-BASE* *PRINT-RADIX* FORMAT-INTEGER
  370.   )  )
  371. #Y(#:TOP-LEVEL-FORM-30 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01)
  372.    FORMAT-SCALE-EXPONENT-AUX REMOVE-OLD-DEFINITIONS
  373.    #Y(FORMAT-SCALE-EXPONENT-AUX
  374.       #94Y(06 00 00 00 00 00 AD 31 B0 41 02 AF 8A 84 16 A7 AB 6F 02 35 37 01 6E A8 B0 AE A9 6E 8D
  375.            6F 01 36 AE A8 AA 1A 14 AE D5 3F 02 19 09 AA AA 7E 01 36 01 81 00 A9 B2 7E 02 35 02 A8
  376.            B3 8D 01 2D 6C B1 A9 A9 1A 0E A8 AA 7E 02 35 01 82 00 A9 B5 7E 02 35 02 A8 B4 8D 01 30
  377.            6C A8 A8 3F 02 19 11
  378.           )
  379.       0.
  380.   )  )
  381. #Y(#:TOP-LEVEL-FORM-31 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-SCALE-EXPONENT
  382.    REMOVE-OLD-DEFINITIONS
  383.    #Y(FORMAT-SCALE-EXPONENT
  384.       #72Y(01 00 00 00 00 02 A8 8A 0D 11 A8 8A 0E 14 A8 8B 0F 17 A8 DF E0 E1 CD 14 C4 1A 24 A8 D5
  385.            D6 D7 C3 1A 75 A8 DB DC DD C9 1A 6E A8 8B 10 18 A8 E3 AA 6E A1 E4 AB 6E A1 E5 AC 6E A1
  386.            E6 AD 6E A1 D2 14 2C 06 05 19 02 00 19 02
  387.           )
  388.       0.0s0 1.0s0 10.0s0 0.1s0 0.30103s0 FORMAT-SCALE-EXPONENT-AUX 0.0 1.0 10.0 0.1 0.0d0 1.0d0
  389.       10.0d0 0.1d0 0. 1. 10. #10r1/10 0.30102999566d0
  390.   )  )
  391. #Y(#:TOP-LEVEL-FORM-32
  392.    #35Y(00 00 00 00 00 01 00 2A 01 D5 60 37 06 C1 FB 7A 02 30 19 0B 00 00 D7 2E 03 D7 A8 69 04 01
  393.         31 74 C2 19 02
  394.        )
  395.    20. STRING-CHAR FORMAT-FLOAT-TO-STRING REMOVE-OLD-DEFINITIONS
  396.    #Y(FORMAT-FLOAT-TO-STRING
  397.       #745Y(05 00 00 00 00 06 AC 8A 84 80 7D AC 31 B6 41 02 AE 37 01 6E B4 6E 8A A9 D9 D9 D9 D6 D6
  398.             D6 01 05 65 00 01 D6 30 15 B4 D6 8C 01 2E 80 8A B4 D6 8D 01 2D 08 D9 B5 6F 00 34 7D C4
  399.             0A B5 D9 B5 6E C4 8C 01 2B 80 80 8F 11 1F 14 D6 8C 01 2D 80 8C DA B9 6E 8D B3 A8 7E 02
  400.             35 0C B0 A8 7E 02 35 09 B1 A8 7E 02 35 0A 16 01 B2 DA 6F 02 35 B2 8C 01 30 80 90 82 07
  401.             B2 DA 7E 02 35 0B B0 DA 7E 02 35 09 AF DA 7E 02 35 08 1A 5F 8E 03 01 C1 14 8E 02 01 C1
  402.             14 6F 01 31 8F 05 0A A7 AD 8D 01 30 04 AC 7D 8A 00 92 00 D7 6D 44 A7 D6 D8 30 35 92 01
  403.             60 AA 6E 84 D6 3F 05 19 07 B5 B5 7D C4 0B D9 B5 7D C4 09 FE 1A FF 76 AF D9 7D C4 08 B2
  404.             D9 7D C4 0B B1 D9 7D C4 0A 8F 11 FF 8F 1A FF 6D DA B9 6F 00 34 6E 8D B2 A8 7E 02 35 0B
  405.             16 01 1A FF 7A 14 32 00 34 1A 32 D9 BB 32 01 34 1A 2B B1 DA 7E 02 35 0A 81 07 B2 D9 6E
  406.             C4 B0 6F 02 33 B2 D9 6E C4 8D 01 2D 68 8E 12 58 8F 13 39 AE D6 8C 01 2D 55 AE BB 6F 01
  407.             34 31 89 FA 8F 10 28 AB B8 6F 00 34 8D 01 2E 1F B7 7E 00 34 04 8F 12 1A 1A 1B D6 1A 08
  408.             A8 DA 7E 02 35 01 81 00 A7 AA 8D 01 30 72 16 01 1A 2E 8E 12 03 8F 13 3C AB AF 6F 01 34
  409.             B2 A8 D6 8C 01 30 59 D6 A9 6F 00 34 1A 0D 7A 05 16 02 1A 23 A9 DA 7D A7 02 81 01 A8 A8
  410.             8D 01 30 73 16 02 A7 B3 7E 01 31 0B A7 B2 7E 01 31 0A 14 A8 8C 01 2B 59 16 02 B2 D9 6E
  411.             C4 B0 6F 02 33 B2 D9 6E C4 8D 01 2D FF 5E AE D6 8D 01 2D 80 78 9E FB D8 65 00 01 37 01
  412.             30 18 D6 AF 6F 00 34 1A 80 5E B2 D9 6E C4 B2 D9 6E C4 B1 6F 01 34 32 01 30 1A 80 9A DB
  413.             AA 6D 33 65 00 01 37 01 30 18 81 06 1A 80 44 9B 1A 80 BC 9B 1A 80 B8 D6 1A 0C 81 07 D7
  414.             65 00 01 37 01 30 18 81 00 A7 B0 8D 01 30 6E 16 01 D8 65 00 01 37 01 30 18 9E FB 8F 12
  415.             80 C9 1A 80 A6 81 08 D7 65 00 01 37 01 30 18 81 01 A8 A8 8D 01 30 6E 16 02 AE 8B 84 0A
  416.             D8 65 00 01 37 01 30 18 9E FB 82 07 B2 DA 6F 02 35 B2 31 A8 41 02 66 0C 66 02 B0 DA 7E
  417.             02 35 09 AF DA 7E 02 35 08 B2 D9 6E C4 B1 7E 01 2D 01 8E 03 FF 63 B2 D9 6E C4 B2 D9 6E
  418.             C4 B1 6F 01 34 32 01 2E F6 8E 01 0E 8E 00 0B 8F 04 FF 5B AE AC 8D 01 2F FF 54 8F 04 06
  419.             AE AC 8D 01 30 27 DC 8F 02 04 8F 01 FF 53 8F 01 03 8F 02 0A B3 D9 6E C4 B3 8C 01 2F FF
  420.             47 AA 31 89 14 6D 33 65 00 01 37 01 30 18 81 06 AE D6 8C 01 30 FF 35 8F 12 20 D6 BA AF
  421.             AF 6F 01 34 6F 01 34 1A 0C 81 08 D7 65 00 01 37 01 30 18 81 01 A8 A8 8D 01 30 6E 16 02
  422.             65 00 01 92 07 AE D6 6F 01 2B AF B1 6F 01 2B B0 3F 05 19 15
  423.            )
  424.       NIL 0. #\0 #\. 1. 10. "0123456789" "0123456789"
  425.   )  )
  426. #Y(#:TOP-LEVEL-FORM-33 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-FLOAT-FOR-F
  427.    REMOVE-OLD-DEFINITIONS
  428.    #Y(FORMAT-FLOAT-FOR-F
  429.       #198Y(08 00 00 00 00 00 8E 08 80 57 00 14 AA A8 B1 B1 5F 2C 05 00 41 04 B3 23 01 80 51 8F 0D
  430.             0E AB AA 7E 01 34 04 8E 01 80 5E 8E 00 80 66 8F 0A 08 8F 0D 05 AB 8A 86 80 6A 8F 0D 0C
  431.             AB D6 8D 01 2E 06 AB B1 AF 2C 03 02 AE 8A 86 80 5E 8F 08 80 64 C4 14 AE 30 88 8F 01 80
  432.             62 1A 80 5B AF 31 8A 1A FF AA 8E 03 77 A9 8A 86 73 A0 1A FF 9F 79 00 8F 0D FF BA 1A FF
  433.             A9 82 04 8F 00 FF B1 1A 15 82 04 8F 0A FF B4 1A FF A9 AB D6 8C 01 2E 69 79 01 8F 00 FF
  434.             9A AB D6 8C 01 2E 65 79 00 8F 0A FF 99 1A FF 8E B4 B2 AF 2C 03 02 19 0E C3 1A FF A3 DA
  435.             AE 30 88 19 0E 8F 01 04 DA AE 30 88 AA AE 37 02 30 89 8E 00 6A 00 19 0E
  436.            )
  437.       FORMAT-FLOAT-TO-STRING 0. FORMAT-PADDING #\- #\+ #\0
  438.   )  )
  439. #Y(#:TOP-LEVEL-FORM-34 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-FLOAT-FOR-E
  440.    REMOVE-OLD-DEFINITIONS
  441.    #Y(FORMAT-FLOAT-FOR-E
  442.       #395Y(0A 00 00 00 00 00 A9 6E 91 2E 00 41 02 AB 8A 84 80 92 A7 B1 32 01 34 14 A7 6E 91 37 0B
  443.             C2 FA 79 05 6D 85 8E 0C 80 81 A7 31 41 14 8E 0E 80 8D 00 14 B4 8A 86 80 90 00 14 8E 11
  444.             80 92 00 14 8F 0E 0D 8F 12 0A 8F 10 07 AA B8 8C 01 2E 80 89 8F 12 09 8E 0B 04 B1 8B 86
  445.             02 82 00 AE A8 AB B9 AC 2C 05 06 41 04 8F 16 0E AB AA 7E 01 34 04 8E 00 80 7F 8E 01 80
  446.             8A 8F 12 08 8F 16 05 AB 8A 86 80 8E 8F 16 0C AB D6 8D 01 2E 06 AB B9 B6 2C 03 05 B5 8A
  447.             86 80 82 8F 0F 80 9D C8 14 B5 30 88 8F 01 80 9B 1A 80 94 C1 1A FF 6F A7 6E 41 B4 32 01
  448.             31 1A FF 78 B5 B4 6F 01 34 31 89 1A FF 74 B3 D6 8C 01 2E 70 A6 1A FF 6A D8 B5 32 01 34
  449.             1A FF 69 14 D9 AB 32 02 34 1A FF 66 B9 B6 B2 2C 03 05 19 13 82 04 8F 01 FF 90 1A 18 82
  450.             04 8F 12 FF 93 1A FF 88 8F 06 6C AD D6 8C 01 2E 66 79 00 8F 01 FF 76 AB D6 8C 01 2E 62
  451.             79 01 8F 12 FF 75 1A FF 6A BD BA B6 2C 03 05 19 17 C7 1A FF 7F DE B5 30 88 8F 10 27 1A
  452.             3C CC 1A 39 CD 1A 36 CE 1A 33 CF 1A 30 D0 1A 2D C7 1A 33 8F 01 04 DE B5 30 88 AA B5 37
  453.             02 30 89 8E 00 55 8E 10 17 B5 67 0A 86 0B 55 B5 8A 0D 54 B5 8A 0E 53 B5 8A 0F 52 B5 8A
  454.             10 51 00 14 B5 30 88 B0 8A 86 4B C8 14 B5 30 88 8F 14 14 14 B0 6E 41 8D 01 2E 0C BB B0
  455.             6E 41 6F 01 34 DE B6 2C 03 05 AF B5 37 02 30 89 19 17
  456.            )
  457.       FORMAT-SCALE-EXPONENT 0. 10. 1. 2. FORMAT-PADDING FORMAT-FLOAT-TO-STRING #\- #\+ #\0
  458.       *READ-DEFAULT-FLOAT-FORMAT* TYPEP #\E #\s #\f #\d #\L
  459.   )  )
  460. #Y(#:TOP-LEVEL-FORM-35 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-SKIP-TO-END
  461.    REMOVE-OLD-DEFINITIONS
  462.    #Y(FORMAT-SKIP-TO-END
  463.       #35Y(00 00 00 00 00 01 1A 0C 0E 00 74 D6 A8 D7 31 2A 16 01 0F 00 0E 00 74 D6 A8 D7 31 2A 16
  464.            01 1B 68 00 19 01
  465.           )
  466.       *FORMAT-CSDL* CONTROL-STRING-DIRECTIVE 8.
  467.   )  )
  468. #Y(#:TOP-LEVEL-FORM-36 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01)
  469.    FORMAT-JUSTIFIED-SEGMENTS REMOVE-OLD-DEFINITIONS
  470.    #Y(FORMAT-JUSTIFIED-SEGMENTS
  471.       #179Y(06 00 00 00 00 00 D5 D5 AA 5F 1A 24 C1 1A 39 C1 1A 3B C0 1A 80 58 5F A8 C0 5B 8F 0B 80
  472.             6D 1A 80 6E 83 01 00 81 03 A9 A8 6E 41 7E 02 33 02 7F 01 A8 89 92 6D 16 02 8E 05 08 A8
  473.             D6 8D 01 2B 02 9C 54 14 D7 AA 8E 02 45 C0 14 8E 08 43 C0 14 6F 04 33 A9 A8 B1 6F 02 35
  474.             6F 02 33 B2 A8 B4 8C 01 2F FF B0 A8 B4 6F 01 34 B3 6E A7 B3 32 02 35 14 6F 02 33 A7 AC
  475.             6F 01 34 AA 31 A6 41 02 92 07 37 07 A1 FA 6D 19 8F 06 FF 8E 8E 0B 04 5F A8 A2 5B D5 1A
  476.             15 A8 99 5A 1C 0E A8 99 5A 14 6E 89 A7 AA 9B 5B 16 01 82 02 81 00 A9 8B 84 67 16 01 A7
  477.             AB 3F 02 19 10
  478.            )
  479.       0. 1. -1.
  480.   )  )
  481. #Y(#:TOP-LEVEL-FORM-37 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-ASCII
  482.    REMOVE-OLD-DEFINITIONS
  483.    #Y(FORMAT-ASCII
  484.       #99Y(03 00 04 00 00 00 3A 04 02 C0 FA 3A 03 02 C1 F9 3A 02 02 C0 F8 3A 01 1C C2 F7 8E 04 1A
  485.            C0 FA 8E 03 18 C1 F9 8E 02 16 C0 F8 8F 01 14 1A 14 A7 B0 30 84 19 09 8F 04 66 8F 03 68
  486.            8F 02 6A 8E 01 02 C2 F7 2D 03 14 8F 07 05 8E 00 02 C4 F6 AC 8B 84 04 AA 8A 84 59 AC AC
  487.            AC AC B1 AC 6D 87 B5 2C 07 05 19 09
  488.           )
  489.       0. 1. #\Space NEXT-ARG "()" FORMAT-PADDED-STRING
  490.   )  )
  491. #Y(#:TOP-LEVEL-FORM-38 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-S-EXPRESSION
  492.    REMOVE-OLD-DEFINITIONS
  493.    #Y(FORMAT-S-EXPRESSION
  494.       #115Y(03 00 04 00 00 00 3A 04 02 C0 FA 3A 03 02 C1 F9 3A 02 02 C0 F8 3A 01 2D C2 F7 8E 04 2B
  495.             C0 FA 8E 03 29 C1 F9 8E 02 27 C0 F8 8F 01 25 1A 25 D9 B0 37 02 30 89 19 09 8F 07 03 8F
  496.             00 72 A7 B0 30 81 19 09 C5 1A 27 8F 04 55 8F 03 57 8F 02 59 8E 01 02 C2 F7 2D 03 14 AC
  497.             8B 84 04 AA 8A 84 58 AC AC AC AC B1 8F 0C 03 8F 05 59 AC 30 86 14 B5 2C 07 06 19 09
  498.            )
  499.       0. 1. #\Space NEXT-ARG "()" "()" FORMAT-PADDED-STRING
  500.   )  )
  501. #Y(#:TOP-LEVEL-FORM-39 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-WRITE
  502.    REMOVE-OLD-DEFINITIONS
  503.    #Y(FORMAT-WRITE
  504.       #95Y(03 00 04 00 00 00 3A 04 02 C0 FA 3A 03 02 C1 F9 3A 02 02 C0 F8 3A 01 1E C2 F7 8E 04 1C
  505.            C0 FA 8E 03 1A C1 F9 8E 02 18 C0 F8 8F 01 16 1A 16 A7 37 0B BB 30 80 19 09 8F 04 64 8F
  506.            03 66 8F 02 68 8E 01 02 C2 F7 2D 03 14 AC 8B 84 04 AA 8A 84 5F AC AC AC AC B1 AC 37 0B
  507.            6D 85 B5 2C 07 04 19 09
  508.           )
  509.       0. 1. #\Space NEXT-ARG FORMAT-PADDED-STRING
  510.   )  )
  511. #Y(#:TOP-LEVEL-FORM-40 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-DECIMAL
  512.    REMOVE-OLD-DEFINITIONS
  513.    #Y(FORMAT-DECIMAL
  514.       #33Y(03 00 03 00 00 00 3A 03 02 C0 F9 3A 02 02 C1 F8 3A 01 02 C2 F7 D8 AE AE AE AE AE AE 2C
  515.            07 04 19 07
  516.           )
  517.       0. #\Space #\, 10. FORMAT-BASE
  518.   )  )
  519. #Y(#:TOP-LEVEL-FORM-41 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-BINARY
  520.    REMOVE-OLD-DEFINITIONS
  521.    #Y(FORMAT-BINARY
  522.       #33Y(03 00 03 00 00 00 3A 03 02 C0 F9 3A 02 02 C1 F8 3A 01 02 C2 F7 D8 AE AE AE AE AE AE 2C
  523.            07 04 19 07
  524.           )
  525.       0. #\Space #\, 2. FORMAT-BASE
  526.   )  )
  527. #Y(#:TOP-LEVEL-FORM-42 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-OCTAL
  528.    REMOVE-OLD-DEFINITIONS
  529.    #Y(FORMAT-OCTAL
  530.       #33Y(03 00 03 00 00 00 3A 03 02 C0 F9 3A 02 02 C1 F8 3A 01 02 C2 F7 D8 AE AE AE AE AE AE 2C
  531.            07 04 19 07
  532.           )
  533.       0. #\Space #\, 8. FORMAT-BASE
  534.   )  )
  535. #Y(#:TOP-LEVEL-FORM-43 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-HEXADECIMAL
  536.    REMOVE-OLD-DEFINITIONS
  537.    #Y(FORMAT-HEXADECIMAL
  538.       #33Y(03 00 03 00 00 00 3A 03 02 C0 F9 3A 02 02 C1 F8 3A 01 02 C2 F7 D8 AE AE AE AE AE AE 2C
  539.            07 04 19 07
  540.           )
  541.       0. #\Space #\, 16. FORMAT-BASE
  542.   )  )
  543. #Y(#:TOP-LEVEL-FORM-44 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-RADIX
  544.    REMOVE-OLD-DEFINITIONS
  545.    #Y(FORMAT-RADIX
  546.       #117Y(03 00 04 00 00 00 3C 04 3A 03 02 C0 F9 3A 02 02 C1 F8 3A 01 80 41 C2 F7 8E 03 3F C0 F9
  547.             8E 02 3D C1 F8 8F 01 3B 1A 3B 14 AC AC AC B2 B2 AD B6 2C 08 04 19 09 A7 B0 2F 05 19 09
  548.             8E 07 77 A7 B0 2F 06 19 09 A7 8A 09 73 67 07 5F DD AA 2C 04 09 19 09 A7 B0 2F 0A 19 09
  549.             8F 03 41 8F 02 43 8E 01 02 C2 F7 2D 03 14 8E 05 FF BE 8E 06 57 8E 07 62 A7 B0 2F 0B 19
  550.             09
  551.            )
  552.       0. #\Space #\, NEXT-ARG FORMAT-INTEGER FORMAT-OLD-ROMAN FORMAT-NEW-ROMAN *FORMAT-CS*
  553.       "The ~~R and ~~:R directives require an integer argument, not ~S" FORMAT-ERROR FORMAT-ORDINAL
  554.       FORMAT-CARDINAL
  555.   )  )
  556. #Y(#:TOP-LEVEL-FORM-45 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-PLURAL
  557.    REMOVE-OLD-DEFINITIONS
  558.    #Y(FORMAT-PLURAL
  559.       #49Y(03 00 00 00 00 04 8F 02 04 60 D5 2F 01 2D 02 14 C0 55 14 8E 02 0C 8E 00 15 DA AC 30 88
  560.            19 05 C3 1A 04 8E 00 7A C4 14 AC 37 02 30 89 19 05 00 19 05
  561.           )
  562.       1. FORMAT-GOTO-NEW-ARG NEXT-ARG "y" "ies" #\s
  563.   )  )
  564. #Y(#:TOP-LEVEL-FORM-46 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-CHARACTER
  565.    REMOVE-OLD-DEFINITIONS
  566.    #Y(FORMAT-CHARACTER
  567.       #185Y(03 00 00 00 00 04 00 2A 01 7B 04 00 00 2D 00 14 A7 8A 18 08 67 01 5F D7 AA 2C 04 03 A8
  568.             69 04 01 8F 04 09 8F 05 3F DD DE 5F 1A 80 66 DA 5F 1A 26 00 1A 18 83 01 00 AA A8 89 30
  569.             19 A7 6E 7E 37 02 6D 4B 64 05 00 37 01 8E 0A 66 C6 14 30 89 DC 64 05 00 30 88 7F 01 A8
  570.             89 92 59 16 02 A8 37 02 6D 28 99 33 19 07 A8 64 03 00 30 81 19 07 75 64 04 00 37 02 30
  571.             89 19 08 83 01 00 AB A8 89 30 0F 90 02 64 06 00 37 02 30 89 AB A8 5F 7C 31 04 7F 02 7F
  572.             01 A8 89 92 61 16 03 A8 DF 37 03 6D BA 8E 00 4C A9 E0 89 30 0E E1 64 04 00 37 02 30 89
  573.             A9 E0 5F 7C 31 02 A9 9A 33 19 08
  574.            )
  575.       NEXT-ARG *FORMAT-CS* "The ~~C directive requires a character argument, not ~S" FORMAT-ERROR
  576.       #Y(FORMAT-CHARACTER-WRITE-CHARNAME
  577.          #34Y(01 00 00 00 00 02 A8 6D 2F 8E 00 08 A9 65 00 01 30 88 19 03 14 37 02 6D 4B 65 00 01
  578.               37 02 30 89 19 03
  579.              )
  580.          NIL
  581.         )
  582.       (:CONTROL :META :SUPER :HYPER) 1. #\- ("Shift-" "Control-" "Alternate-")
  583.       (:SUPER :CONTROL :META)
  584.       ((#\HYPER-Return . "Enter") (#\HYPER-\ . "Insert") (#\HYPER-\ . "End")
  585.        (#\HYPER-\ . "Down") (#\HYPER-\ . "PgDn") (#\HYPER-\ . "Left") (#\HYPER-\ . "Right")
  586.        (#\HYPER-\ . "Home") (#\HYPER-\ . "Up") (#\HYPER-\ . "PgUp") (#\HYPER-\ . "PrtScr")
  587.        (#\HYPER-Rubout . "Delete") (#\HYPER-A . "F1") (#\HYPER-B . "F2") (#\HYPER-C . "F3")
  588.        (#\HYPER-D . "F4") (#\HYPER-E . "F5") (#\HYPER-F . "F6") (#\HYPER-G . "F7")
  589.        (#\HYPER-H . "F8") (#\HYPER-I . "F9") (#\HYPER-J . "F10") (#\HYPER-K . "F11")
  590.        (#\HYPER-L . "F12")
  591.       )
  592.       :HYPER "Keypad-"
  593.   )  )
  594. #Y(#:TOP-LEVEL-FORM-47 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-FIXED-FLOAT
  595.    REMOVE-OLD-DEFINITIONS
  596.    #Y(FORMAT-FIXED-FLOAT
  597.       #76Y(03 00 05 00 00 00 3C 05 3C 04 3A 03 02 C0 F9 3C 02 3A 01 19 C1 F7 8E 03 17 C0 F9 8F 01
  598.            15 1A 15 AD AD AD AD AD B3 AD B7 2C 08 03 19 0A 8F 03 69 8E 01 02 C1 F7 2D 02 14 A7 8B
  599.            0B 06 A7 37 01 7D A1 00 A7 8A 0C 5A A7 B1 2F 04 19 0A
  600.           )
  601.       0. #\Space NEXT-ARG FORMAT-FLOAT-FOR-F FORMAT-ASCII-DECIMAL
  602.   )  )
  603. #Y(#:TOP-LEVEL-FORM-48 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01)
  604.    FORMAT-EXPONENTIAL-FLOAT REMOVE-OLD-DEFINITIONS
  605.    #Y(FORMAT-EXPONENTIAL-FLOAT
  606.       #85Y(03 00 07 00 00 00 3C 07 3C 06 3C 05 3A 04 02 C0 FA 3C 03 3A 02 02 C1 F8 3A 01 1B 79 01
  607.            8E 04 19 C0 FA 8F 02 17 1A 17 AF AF AF AF AF AF AF B7 AF BB 2C 0A 03 19 0C 8F 04 67 8E
  608.            02 02 C1 F8 2D 02 14 A7 8B 0B 06 A7 37 01 7D A1 00 A7 8A 0C 58 A7 B3 2F 04 19 0C
  609.           )
  610.       1. #\Space NEXT-ARG FORMAT-FLOAT-FOR-E FORMAT-ASCII-DECIMAL
  611.   )  )
  612. #Y(#:TOP-LEVEL-FORM-49 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-GENERAL-FLOAT
  613.    REMOVE-OLD-DEFINITIONS
  614.    #Y(FORMAT-GENERAL-FLOAT
  615.       #186Y(03 00 07 00 00 00 3C 07 3C 06 3C 05 3A 04 02 C0 FA 3C 03 3A 02 02 C1 F8 3A 01 80 7D 79
  616.             01 8E 04 80 7B C0 FA 8F 02 80 78 1A 80 77 A9 6E 91 01 04 2C 05 04 41 02 93 00 D5 6F 01
  617.             31 AA DA 6F 01 32 32 01 31 16 02 FF 8F 08 33 DB B0 32 02 33 1A 2D 14 A9 32 01 34 1A 04
  618.             8E 0C 76 00 14 A8 DD B2 B2 B9 B1 BD 2C 08 09 A8 D6 B8 2C 03 0A 19 10 A7 6E 91 2E 03 41
  619.             02 8F 09 FF B2 8E 08 4D C7 14 B1 A9 6F 01 34 DD A8 B4 8C 02 2F 4D B3 B3 B3 B3 B3 B3 B3
  620.             BB B3 BF 2C 0A 0B 19 10 8F 04 FF 85 8E 02 02 C1 F8 2D 02 14 A7 8B 0B 06 A7 37 01 7D A1
  621.             00 A7 8A 0C FF BA A7 B3 2F 0C 19 0C
  622.            )
  623.       1. #\Space NEXT-ARG FORMAT-SCALE-EXPONENT FORMAT-FLOAT-TO-STRING 7. 2. 4. 0.
  624.       FORMAT-FLOAT-FOR-F FORMAT-PADDING FORMAT-FLOAT-FOR-E FORMAT-ASCII-DECIMAL
  625.   )  )
  626. #Y(#:TOP-LEVEL-FORM-50 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-DOLLARS-FLOAT
  627.    REMOVE-OLD-DEFINITIONS
  628.    #Y(FORMAT-DOLLARS-FLOAT
  629.       #184Y(03 00 04 00 00 00 3A 04 02 C0 FA 3A 03 02 C1 F9 3A 02 02 C2 F8 3A 01 1D C3 F7 8E 04 1B
  630.             C0 FA 8E 03 19 C1 F9 8E 02 17 C2 F8 8F 01 15 1A 15 C1 1A 3C C7 1A 80 59 8F 04 65 8F 03
  631.             67 8F 02 69 8E 01 02 C3 F7 2D 04 14 A7 8B 0B 06 A7 37 01 7D A1 00 A7 8B 0C 80 5D A7 5F
  632.             AE D7 5F 2C 05 05 41 05 A7 B1 6F 01 31 D6 8E 0D 46 AE 8A 86 42 C2 14 A9 B5 6F 04 33 B1
  633.             A8 6F 01 34 D7 6F 01 31 8E 0F 06 A7 B2 B9 2C 03 06 AF 8A 86 FF A7 8F 0E 0A C8 14 B8 30
  634.             88 8F 0F 0B 1A 03 8F 0F 06 A7 B2 B9 2C 03 06 A9 AB 6F 01 34 DE B9 2C 03 06 AE B8 37 02
  635.             30 89 19 11 A7 B0 2F 0A 19 09
  636.            )
  637.       2. 1. 0. #\Space NEXT-ARG FORMAT-FLOAT-TO-STRING FORMAT-PADDING #\- #\+ #\0
  638.       FORMAT-ASCII-DECIMAL
  639.   )  )
  640. #Y(#:TOP-LEVEL-FORM-51 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-TERPRI
  641.    REMOVE-OLD-DEFINITIONS
  642.    #Y(FORMAT-TERPRI
  643.       #38Y(03 00 01 00 00 0A 3A 01 07 C0 F7 8F 01 05 1A 05 8E 01 02 C0 F7 D6 1A 05 AC 30 8B 81 00
  644.            A7 AA 8D 01 30 75 00 19 06
  645.           )
  646.       1. 0.
  647.   )  )
  648. #Y(#:TOP-LEVEL-FORM-52 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-FRESH-LINE
  649.    REMOVE-OLD-DEFINITIONS
  650.    #Y(FORMAT-FRESH-LINE
  651.       #50Y(03 00 01 00 00 0A 3A 01 1D C0 F7 8F 01 1B 1A 1B AB 30 8C D6 93 02 1A 05 AD 30 8B 81 01
  652.            A8 A8 8D 01 30 75 00 19 07 8E 01 02 C0 F7 A8 8A 85 61 00 19 05
  653.           )
  654.       1. 0.
  655.   )  )
  656. #Y(#:TOP-LEVEL-FORM-53 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-PAGE
  657.    REMOVE-OLD-DEFINITIONS
  658.    #Y(FORMAT-PAGE
  659.       #39Y(03 00 01 00 00 0A 3A 01 07 C0 F7 8F 01 05 1A 05 8E 01 02 C0 F7 D6 1A 06 D7 AD 30 88 81
  660.            00 A7 AA 8D 01 30 74 00 19 06
  661.           )
  662.       1. 0. #\Page
  663.   )  )
  664. #Y(#:TOP-LEVEL-FORM-54 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-TILDE
  665.    REMOVE-OLD-DEFINITIONS
  666.    #Y(FORMAT-TILDE
  667.       #39Y(03 00 01 00 00 0A 3A 01 07 C0 F7 8F 01 05 1A 05 8E 01 02 C0 F7 D6 1A 06 D7 AD 30 88 81
  668.            00 A7 AA 8D 01 30 74 00 19 06
  669.           )
  670.       1. 0. #\~
  671.   )  )
  672. #Y(#:TOP-LEVEL-FORM-55 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-TABULATE
  673.    REMOVE-OLD-DEFINITIONS
  674.    #Y(FORMAT-TABULATE
  675.       #106Y(03 00 02 00 00 0F 3A 02 02 C0 F8 3A 01 22 C0 F7 8E 02 20 C0 F8 8F 01 1E 1A 1E A9 A8 AB
  676.             6F 02 33 6F 00 34 9B 1A 36 A9 A8 32 01 34 1A 35 00 19 09 8F 02 60 8E 01 02 C0 F7 A9 D6
  677.             6F 01 31 A9 D5 6F 01 31 AE 6D 90 8E 06 52 A7 AA 8C 01 2D 58 AB 8A 84 5B AB AA A9 6F 01
  678.             34 AD 32 00 34 14 6E AA 32 02 33 14 D7 B1 2C 03 03 19 09
  679.            )
  680.       1. 0. #\Space FORMAT-PADDING
  681.   )  )
  682. #Y(#:TOP-LEVEL-FORM-56 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-GOTO
  683.    REMOVE-OLD-DEFINITIONS
  684.    #Y(FORMAT-GOTO
  685.       #40Y(03 00 01 00 00 0A 3A 01 12 79 01 8F 02 10 8E 01 01 C0 14 67 01 30 9B 0F 02 19 05 8E 02
  686.            70 AA 8E 02 01 C3 14 2F 04 19 05
  687.           )
  688.       0. *FORMAT-ARG-LIST* *FORMAT-NEXT-ARG* 1. FORMAT-GOTO-NEW-ARG
  689.   )  )
  690. #Y(#:TOP-LEVEL-FORM-57 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-INDIRECTION
  691.    REMOVE-OLD-DEFINITIONS
  692.    #Y(FORMAT-INDIRECTION
  693.       #89Y(03 00 00 00 00 04 2D 00 14 A7 8A 04 08 67 01 5F D7 AA 2C 04 03 A7 77 01 A8 D9 A9 5F 2C
  694.            04 05 8E 03 26 2D 00 14 A7 8A 08 08 67 01 5F DE AA 2C 04 03 99 56 10 01 9C 57 10 06 9E
  695.            10 0A 0E 0A 10 0B B9 2E 08 11 12 03 19 07 90 00 99 57 10 06 00 10 07 9E 10 01 B6 2E 08
  696.            1A 6B
  697.           )
  698.       NEXT-ARG *FORMAT-CS* "The control string argument for the ~~? directive is invalid: ~S"
  699.       FORMAT-ERROR 0. FORMAT-PARSE-CS *FORMAT-CSDL* *FORMAT-UP-AND-OUT* FORMAT-INTERPRET
  700.       "The argument list argument for the ~~? directive is invalid: ~S" *FORMAT-ARG-LIST*
  701.       *FORMAT-NEXT-ARG*
  702.   )  )
  703. #Y(#:TOP-LEVEL-FORM-58 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-CASE-CONVERSION
  704.    REMOVE-OLD-DEFINITIONS
  705.    #Y(FORMAT-CASE-CONVERSION
  706.       #103Y(03 00 00 00 00 04 0E 00 57 0F 00 AA 6D 90 6E 69 A7 D6 2F 02 A7 7D 6A 00 8E 03 17 8E 02
  707.             1E A7 37 02 30 48 14 AC 37 02 30 89 19 05 A7 37 02 30 46 1A 71 8E 02 76 A7 37 02 30 4A
  708.             1A 67 A7 37 02 7C 48 00 D8 A8 6E 41 1A 02 81 01 A8 A8 8C 01 30 11 A9 A9 6D 33 89 21 71
  709.             A9 A9 AB AB 6D 33 6D 2A 30 35 16 02 98 1A FF BC
  710.            )
  711.       *FORMAT-CSDL* FORMAT-CASE-CONVERSION-END FORMAT-INTERPRET 0.
  712.   )  )
  713. #Y(#:TOP-LEVEL-FORM-59 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-CONDITIONAL
  714.    REMOVE-OLD-DEFINITIONS
  715.    #Y(FORMAT-CONDITIONAL
  716.       #181Y(03 00 01 00 00 0A 3A 01 24 79 01 8F 03 22 8E 02 12 2D 03 1C 27 0E 04 74 DA A8 DB 31 2A
  717.             16 01 0F 04 1A 19 67 00 5F D6 2C 03 02 1A 80 84 8E 03 5E 8F 02 19 2D 03 1C 80 79 60 DE
  718.             2F 0A 0E 04 57 0F 04 AB DC 2F 08 1A 80 69 E2 1A 80 46 8E 01 02 2D 03 14 A7 8A 09 08 67
  719.             00 5F E0 AA 2C 04 02 E1 A8 8A 86 65 A8 1A 2C 16 02 1A 30 16 02 1A 2C 0E 04 74 DA A8 E3
  720.             7D 2A 00 23 07 6C 0E 04 74 DA A8 DB 31 2A 16 01 0F 04 74 DA A8 E4 31 2A 16 01 1B 5A 81
  721.             01 A8 A8 8D 01 30 56 16 02 0E 04 74 DA A8 E3 7D 2A 00 23 07 05 0E 04 57 0F 04 AC DC 2F
  722.             08 16 01 2D 10 19 05
  723.            )
  724.       *FORMAT-CS* "The ~~[ directive cannot take both modifiers." FORMAT-ERROR NEXT-ARG
  725.       *FORMAT-CSDL* CONTROL-STRING-DIRECTIVE 8. FORMAT-CONDITIONAL-END FORMAT-INTERPRET 1.
  726.       FORMAT-GOTO-NEW-ARG "The ~~[ parameter must be an integer, not ~S" 0. #.MOST-POSITIVE-FIXNUM
  727.       7. 5. FORMAT-SKIP-TO-END
  728.   )  )
  729. #Y(#:TOP-LEVEL-FORM-60 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-ITERATION
  730.    REMOVE-OLD-DEFINITIONS
  731.    #Y(FORMAT-ITERATION
  732.       #258Y(03 00 01 00 00 0A 3C 01 67 00 2D 01 0E 00 74 D7 A8 D8 7D 2A 00 91 01 0E 00 21 80 60 0E
  733.             05 14 91 02 0E 00 21 80 5B 9A 57 14 8F 06 80 71 00 14 DB 8F 07 07 A7 AF 8C 01 30 80 C5
  734.             8E 08 80 6B 99 14 8F 05 80 B7 A8 8A 85 80 65 16 01 1B 80 B1 8E 09 80 67 8E 08 80 82 99
  735.             10 0B 0E 0B 10 0A A1 10 05 A3 10 00 00 10 0C 62 19 E2 2F 0E 0E 0A 09 10 67 0C 24 0F 80
  736.             79 00 12 02 12 03 19 0B 2D 04 1A FF 9D A7 77 01 A8 DB A9 5F 2C 04 07 98 57 16 01 1A FF
  737.             96 67 05 5F DD AA 2C 04 09 15 1A FF 90 2D 04 14 A7 8B 08 6D 15 1A FF 85 0E 0A 1A FF 91
  738.             15 1C 80 4D 1A FF 99 2D 04 1A 08 8E 08 79 90 01 7F 02 15 10 0B 0E 0B 10 0A A1 10 05 A3
  739.             10 00 00 10 0C 62 19 E2 2F 0E 1A FF 97 9B 10 05 9D 10 00 00 10 0C BA E2 2F 0E 67 0C 24
  740.             0F 06 00 1A FF 8A 12 02 12 03 81 00 8F 07 FF 42 1A FF 38 15 1B FF 4F 00 19 0B
  741.            )
  742.       *FORMAT-CSDL* FORMAT-SKIP-TO-END CONTROL-STRING-DIRECTIVE 5. NEXT-ARG *FORMAT-CS* 0.
  743.       FORMAT-PARSE-CS "The ~~{ directive requires a list argument, not ~S" FORMAT-ERROR
  744.       *FORMAT-NEXT-ARG* *FORMAT-ARG-LIST* *FORMAT-UP-AND-OUT* FORMAT-ITERATION-END FORMAT-INTERPRET
  745.       :TERMINATE-ALL
  746.   )  )
  747. #Y(#:TOP-LEVEL-FORM-61 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-JUSTIFICATION
  748.    REMOVE-OLD-DEFINITIONS
  749.    #Y(FORMAT-JUSTIFICATION
  750.       #275Y(03 00 04 00 00 00 3A 04 02 C0 FA 3A 03 02 C1 F9 3A 02 02 C0 F8 3A 01 16 C2 F7 8E 04 14
  751.             C0 FA 8E 03 12 C1 F9 8E 02 10 C0 F8 8F 01 0E 1A 0E 8F 04 6C 8F 03 6E 8F 02 70 8E 01 02
  752.             C2 F7 67 03 AF 6D 90 A7 6E 69 01 04 60 1A 80 A4 0E 03 74 2E 0B 43 41 02 66 06 66 06 0E
  753.             07 1C 80 8B A2 0F 03 2D 0C 11 16 01 1A 80 97 98 57 1A 80 9B B3 B3 B3 B8 B8 AC 2C 06 0D
  754.             41 02 8F 06 1A AF A8 8E 07 01 C0 14 6F 03 33 8E 05 01 CE 14 8D 01 2E 07 90 03 B9 37 02
  755.             30 89 D5 1A 17 A9 99 5A 14 B4 BB 2C 03 0F 8F 03 13 90 03 7F 04 BA 37 02 30 89 81 00 A9
  756.             99 5A 1B 64 8E 03 6D 00 19 13 0E 03 57 0F 03 00 10 07 AF DB 2F 08 8F 03 1A 0E 03 74 D9
  757.             A8 DA 7D 2A 00 24 09 0E 0E 03 74 D9 A8 DF 31 2A 16 01 FD 1B FF 69 0E 07 1B FF 75 AF 6E
  758.             6A 80 04 11 79 00 0E 03 74 D9 A8 DA 7D 2A 00 24 06 FF BD 16 01 A7 7D 43 00 8E 03 FF 61
  759.             98 14 8E 00 FF 60 B3 B1 B8 2C 03 0F 19 10
  760.            )
  761.       0. 1. #\Space *FORMAT-CSDL* CONTROL-STRING-DIRECTIVE 7. FORMAT-JUSTIFICATION-END
  762.       *FORMAT-UP-AND-OUT* FORMAT-INTERPRET FORMAT-SEPARATOR 5. FORMAT-RESOLVE-PARMS
  763.       FORMAT-SKIP-TO-END FORMAT-JUSTIFIED-SEGMENTS 72. FORMAT-PADDING
  764.   )  )
  765. #Y(#:TOP-LEVEL-FORM-62 #16Y(00 00 00 00 00 01 D5 2E 01 D5 D7 31 74 C0 19 01) FORMAT-UP-AND-OUT
  766.    REMOVE-OLD-DEFINITIONS
  767.    #Y(FORMAT-UP-AND-OUT
  768.       #113Y(03 00 03 00 00 00 3C 03 3C 02 3A 01 21 79 01 8F 03 1F 1A 23 0E 00 1C 80 46 1A 80 52 AA
  769.             24 01 80 4D 1A 3C AA AA 89 FE 80 45 1A 34 C2 1A 35 8E 03 06 8E 02 03 8F 01 5D 8E 02 03
  770.             8F 01 5F 8F 01 63 AA 8B 09 08 A9 8B 09 04 A8 8A 09 1B AA 8B 18 1E A9 8B 18 1A A8 8B 18
  771.             16 AA AA AA 8D 02 0B 0F 8E 05 49 C3 0F 04 19 07 AA AA AA 8C 02 2F 71 00 19 07
  772.            )
  773.       *FORMAT-NEXT-ARG* 0. :TERMINATE-ALL :TERMINATE *FORMAT-UP-AND-OUT*
  774.   )  )